Apache POI লাইব্রেরি ব্যবহার করে PowerPoint ফাইলের কাস্টম থিম তৈরি এবং প্রয়োগ করা সম্ভব। থিম হল এমন একটি সেটিং যা একটি স্লাইডশোতে সমস্ত স্লাইডের ডিজাইন এবং স্টাইল নিয়ন্ত্রণ করে। এতে স্লাইডের ব্যাকগ্রাউন্ড, ফন্ট, কালার স্কিম, গ্রাফিক্স, এবং অন্যান্য ডিজাইন উপাদান অন্তর্ভুক্ত থাকে। এই থিমগুলি প্রোগ্রামেটিকভাবে PPTX ফাইলগুলিতে প্রয়োগ করা যেতে পারে।
এখানে, আমরা দেখব কিভাবে Apache POI ব্যবহার করে একটি কাস্টম থিম তৈরি এবং সেটি একটি PowerPoint ফাইলে প্রয়োগ করা যায়।
PowerPoint ফাইলের কাস্টম থিম তৈরি করার জন্য, XMLSlideShow ক্লাসের সাথে XML কনফিগারেশন ব্যবহার করা হয়। XSLFTheme ক্লাস ব্যবহার করে আপনি থিমের বিভিন্ন অংশ যেমন কালার স্কিম, ফন্ট, ব্যাকগ্রাউন্ড ইত্যাদি কনফিগার করতে পারেন।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import org.apache.poi.xslf.usermodel.XSLFTheme;
import org.apache.poi.sl.usermodel.ColorStyle;
import org.apache.poi.sl.usermodel.Theme;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomThemeExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইডশো তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// কাস্টম থিম তৈরি
XSLFTheme theme = ppt.getSlidesMaster().getTheme();
// থিমের কালার স্কিম সেট করা (যেমন ব্যাকগ্রাউন্ড, টেক্সট কালার)
theme.getColorScheme().setColor(ColorStyle.PART_BACKGROUND, new Color(255, 223, 186)); // Light Orange
theme.getColorScheme().setColor(ColorStyle.PART_TEXT, new Color(0, 51, 102)); // Dark Blue
// কাস্টম ফন্ট সেট করা
theme.getFontScheme().setMajorFont("Arial"); // প্রধান ফন্ট Arial
theme.getFontScheme().setMinorFont("Verdana"); // গৌণ ফন্ট Verdana
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// একটি টেক্সট বক্স তৈরি এবং স্লাইডে যোগ করা
XSLFTextBox textBox = slide.createTextBox();
textBox.setText("Welcome to the Custom Themed Presentation!");
textBox.setAnchor(new java.awt.Rectangle(100, 100, 500, 100));
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("custom_themed_presentation.pptx")) {
ppt.write(out);
}
System.out.println("কাস্টম থিম PowerPoint ফাইলে সফলভাবে প্রয়োগ করা হয়েছে!");
}
}
একবার থিম তৈরি করলে, আপনি সেটি পুরো স্লাইডশোতে প্রয়োগ করতে পারেন, অথবা শুধুমাত্র কিছু নির্দিষ্ট স্লাইডে প্রয়োগ করতে পারেন। থিম প্রয়োগের জন্য সাধারণত SlideMaster ব্যবহার করা হয়।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFSlideMaster;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import java.io.FileOutputStream;
import java.io.IOException;
public class ApplyThemeToMaster {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইডশো তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// স্লাইড মাস্টার অ্যাক্সেস করা
XSLFSlideMaster slideMaster = ppt.getSlidesMaster();
// স্লাইড মাস্টারে থিম প্রয়োগ করা
slideMaster.setBackgroundColor(new java.awt.Color(0, 51, 102)); // Dark Blue ব্যাকগ্রাউন্ড
// স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// স্লাইডে টেক্সট বক্স যোগ করা
XSLFTextBox textBox = slide.createTextBox();
textBox.setText("This slide uses the master slide theme!");
textBox.setAnchor(new java.awt.Rectangle(100, 100, 500, 100));
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("theme_applied_presentation.pptx")) {
ppt.write(out);
}
System.out.println("স্লাইডমাস্টার থেকে থিম সফলভাবে প্রয়োগ করা হয়েছে!");
}
}
Apache POI ব্যবহার করে আপনি PowerPoint ফাইলের জন্য কাস্টম থিম তৈরি এবং সেটি প্রয়োগ করতে পারেন।
এই প্রক্রিয়াটি আপনাকে একটি কাস্টম ডিজাইন এবং ব্র্যান্ডিং প্রয়োগ করতে সাহায্য করবে যা আপনার সমস্ত স্লাইডে স্বয়ংক্রিয়ভাবে প্রযোজ্য হবে।
common.read_more